草庐IT

Java System.loadLibrary 依赖项

全部标签

c# - C++ 和 C# 之间的并排依赖关系

我正在使用FireBreath框架制作一个浏览器插件。大多数逻辑是用C#编写的,为了从浏览器调用它,我制作了一个C++包装器。浏览器调用C++native代码,后者调用“代理”托管C++代码,后者调用C#项目中的实际逻辑。所以我有3个dll:负责依赖托管C++的nativeC++dll;依赖于C#的托管C++;包含主要逻辑的C#dll。所有3个dll安装到用户目录(c:\Users\\AppData\Roaming\MyCompany\MyApp\1.0.0.0)问题是浏览器不加载C#dll。我使用SidebySidelist来声明依赖项。我试图制作一个单独的list文件来声明一个程序

c++如何创建相互依赖的类

我有一个存储类。这个类的成员经常被修改。每次修改成员时,我都想保存类的状态(克隆类实例并保存)。所以我想创建一个新类来保存这些状态。例如:假设我在文件storage.h中有一个存储类classStorage{public:Intm_cnt;StorageHistorym_his;};和文件storagehistory.h中的StorageHistory类classStorageHistory{public:std::vectorm_history_vec;};假设:StorageHistory类应该保存在Storage类中。原因是Storage类是可以在所有类/包中访问的主类。为了尽量

c++ - 移除 stdc++ 库依赖

我有一个用C++编写的库,但没有使用stdc++库,因为它在某些平台上不可用。但是,我的libsmartrest.la中仍然有stdc++库依赖项,这使得依赖于该库的所有库都无法链接。这是我的configure.ac和Makefile.am:#Processthisfilewithautoreconftoproduceaconfigurescript.#Seehttp://www.openismus.com/documents/linux/building_libraries/building_librariesforintroduction.AC_INIT([CumulocitySm

c++ - 无法理解这是循环依赖还是 Clang

我在Clang/OSXYosemite上,我的项目很好地使用了Eigen。然后我引入了一个也使用Eigen的外部库,现在我有这个编译错误:/usr/local/include/Eigen3/Eigen/src/Geometry/Quaternion.h:516:13:Implicitinstantiationofundefinedtemplate'Eigen::internal::quaternionbase_assign_impl,3,1>'这似乎来自库中的声明:#include这是我使用四元数的代码:Eigen::Quaternionq,q_wv,q_ic,q_cv;q_cv=_p

C++依赖注入(inject)多态性

我有一个关于使用多态类进行依赖注入(inject)的最佳实践的问题。我是C++的新手,所以如果这是一个明显的问题,请原谅我。假设我有一个Runner类,它需要接收两个对象,一个Logger和一个Worker。Logger是一个抽象类,有两个子类,比如FileLogger和SocketLogger。同样,Worker是一个抽象类,有两个子类,比如ApproximateWorker和CompleteWorker。Runner类将从main()创建,并将基于配置文件或类似文件创建Logger和Worker。我已经阅读了很多有关SO和其他地方的资料,普遍的看法似乎是更喜欢堆栈分配的对象并通过引

c++ - 使用模板模板参数打破模板循环依赖

如果我的理解是正确的,下面是模板类之间的经典循环依赖:templatestructA{MyB*b_;};templatestructB{MyA*a_;};如果我们要实例化A与B和B与A,那么我们不能从任何一个开始,因为我们必须写:A>>(无限)。我认为模板模板参数提供了一种解决方案。以下代码编译(使用gcc版本4.8.2):templatestructA{MyB*b_;};templateclassMyA>structB{MyA*a_;};intmain(){usingMyB=B;usingMyA=A;MyAa;MyBb;a.b_=&b;b.a_=&a;return0;}我是否遗漏了问

c++ - 非依赖名称的重载解析何时发生,在定义上下文或实例化点?

3.4[basic.lookup]/p1Overloadresolution(13.3)takesplaceafternamelookuphassucceeded.voidg(long);voidg(int,int);templatevoidf(){g(0);}voidg(int,int=0){}intmain(){f();}gcc编译成功,clang编译失败非依赖名称的重载解析何时发生,是在定义上下文中还是在实例化点?还是两者都对? 最佳答案 在这两种情况下。[温度.res]14.6\8Ifahypotheticalinstant

c++ - 依赖模板库的 protected 成员

所以我通读了this问题,我理解模板中依赖名称的前提,以及有时如何必须使用this->限定方法以确保编译器能够正确找到它,但是我遇到了一个场景我不知道如何解决。具体来说,当该方法所属的对象与*this属于同一类型,但它是不同的对象(可能属于不同的子类)时。例如:#includetemplateclassA{protected:virtualvoidfoo()=0;};templateclassB:publicA{};templateclassC:publicB{protected:voidfoo()override{std::coutclassD:publicB{protected:v

c++ - 如何使 Visual Studio 2010 项目依赖项特定于配置?

这个可能有点奇怪。我在VisualStudio2010中有一个包含三个C++项目的解决方案。两个库和一个可执行应用程序。两种配置。在一种配置中,我需要可执行应用程序对一个库具有项目依赖性,在另一种配置中,我需要可执行应用程序对其他库具有项目依赖性。具体来说,第一个库中有一个Direct3D9实现,第二个库中有一个OpenGL实现。第三个项目是一个测试工具,两者使用相同的接口(interface),唯一的区别是它链接到哪个库。测试工具项目中存在两种配置,一种用于每个实现。我无法将测试工具项目设置为基于事件配置分别依赖于每个实现库。如何使项目依赖项配置特定? 最

c++ - 如何删除对 mfc80.dll 和 msvcr80.dll 的依赖?

我的代码不使用MFC。但是,当我构建我的静态库时,尝试使用它的一方表示他们遇到了困难,因为我的代码库中有以下依赖项:mfc80.dll和msvcr80.dll有没有办法删除它们并重建?我正在使用vs2008。 最佳答案 静态库默认链接到动态运行时,这就是您的代码依赖msvcr80.dll的原因。VisualC++程序必须链接到运行时。您可以更改静态库以使用静态运行时来删除依赖项。这是在ConfigurationProperties|中完成的。C/C++|代码生成|运行时库设置。但是,所选的运行时库必须与链接静态库的项目中使用的相匹配